www.gusucode.com > VC++ 客户管理系统(SQL Serve)-源码程序 > VC++ 客户管理系统(SQL Serve)-源码程序/code/Program/khbase.cpp

    // khbase.cpp : implementation file
//

#include "stdafx.h"
#include "khmanager.h"
#include "khbase.h"

#include "ado.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

	ado rst4;
int tnum=1;
int tnum2;
int seltab=0;
int update=0;

/////////////////////////////////////////////////////////////////////////////
// khbase dialog


khbase::khbase(CWnd* pParent /*=NULL*/)
	: CDialog(khbase::IDD, pParent)
{
	//{{AFX_DATA_INIT(khbase)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void khbase::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(khbase)
	DDX_Control(pDX, IDC_TAB1, m_tab);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(khbase, CDialog)
	//{{AFX_MSG_MAP(khbase)
	ON_WM_PAINT()
	ON_COMMAND(ID_ADD, OnAdd)
	ON_COMMAND(ID_DELETE, OnDelete)
	ON_COMMAND(ID_EXIT, OnExit)
	ON_COMMAND(ID_FIRST, OnFirst)
	ON_COMMAND(ID_LAST, OnLast)
	ON_COMMAND(ID_NEXT, OnNext)
	ON_COMMAND(ID_SAVE, OnSave)
	ON_COMMAND(ID_UP, OnUp)
	ON_COMMAND(ID_UPDATE, OnUpdate)
	ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnSelchangeTab1)
	ON_COMMAND(ID_CANCEL, OnCancel)
	ON_NOTIFY(TCN_SELCHANGING, IDC_TAB1, OnSelchangingTab1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// khbase message handlers

BOOL khbase::OnInitDialog() 
{
	CDialog::OnInitDialog();

	m_tab.AddPage("客户基本信息",&b,IDD_KHBASE);
	m_tab.AddPage("客户列表",&l,IDD_LIST2);
	m_tab.Show(0);
	
	imagelist.Create(32,32,ILC_COLOR32|ILC_MASK,0,0);
	imagelist.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON1)));
	imagelist.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON2)));
	imagelist.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON3)));
	imagelist.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON4)));
	imagelist.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON5)));
	imagelist.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON6)));
	imagelist.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON7)));
	imagelist.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON8)));
	imagelist.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON9)));
	imagelist.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON10)));
	
	 // int weith[2];
//	weith[1]=150;
//	weith[0]=500;
//	weith[2]=200;
	CString s;
	TCHAR *pString;
	
		
	
	CMenu menu;
	menu.LoadMenu(IDR_lxrxx);
//	this->SetMenu(&menu);
toolbar.EnableAutomation();
	toolbar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,ID_TOOLBAR);
	
	toolbar.SetImageList(&imagelist);
	TBBUTTON button[12];
	int i;
	for(i=0;i<12;i++)
	{
	button[i].dwData=0;
	button[i].fsState=TBSTATE_ENABLED;
	button[i].fsStyle=TBSTYLE_BUTTON;
	}
	button[5].fsStyle=TBSTYLE_SEP;
	button[10].fsStyle=TBSTYLE_SEP;
	button[0].idCommand=ID_ADD;
	button[0].iBitmap=0;
	
	button[1].idCommand=ID_UPDATE;
	button[1].iBitmap=1;
	button[2].idCommand=ID_DELETE;
	button[2].iBitmap=2;
	button[3].idCommand=ID_SAVE;
	button[3].iBitmap=3;
	button[4].idCommand=ID_CANCEL;
	button[4].iBitmap=4;
	button[6].idCommand=ID_FIRST;
	button[6].iBitmap=5;
	button[7].idCommand=ID_UP;
	button[7].iBitmap=6;
	button[8].idCommand=ID_NEXT;
	button[8].iBitmap=7;
	button[9].idCommand=ID_LAST;
	button[9].iBitmap=8;
	button[11].idCommand=ID_EXIT;
	button[11].iBitmap=9;
for(i=0;i<12;i++)
{
	s.LoadString(i+IDS_1);
	int nStringLength= s.GetLength() + 1;
	pString = s.GetBufferSetLength(nStringLength);
	
	button[i].iString =toolbar.AddStrings(pString);
		s.ReleaseBuffer();
}
	toolbar.AddButtons(12,button);
	toolbar.AutoSize();
	toolbar.SetStyle(TBSTYLE_FLAT|CCS_TOP);
	toolbar.EnableButton(ID_SAVE,false);
	toolbar.EnableButton(ID_CANCEL,false);
	b.enableall(false);

this->loadrst();
b.texttowin();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}



void khbase::OnPaint() 
{
	CPaintDC dc(this); 
	
}

void khbase::OnAdd() 
{
	b.enableall(true);
	this->enablebutton(false);
	b.clearall();
	this->numload();
m_tab.SetCurSel(0);

	
}

void khbase::OnCancel() 
{
	this->enablebutton(true);
	b.enableall(false);
	this->datatotext();
	b.texttowin();
	update=0;
}

void khbase::OnDelete() 
{

	if(MessageBox("删除后数据将丢失","提示",MB_YESNO)==IDYES)
	{
		CString ss,aa;
	b.m_edit1.GetWindowText(aa);
		ss.Format("delete from tb_khxx where khxx_id = '%s'",aa);
	rst4.ExecuteSQL(ss);

l.m_list.DeleteAllItems();
this->loadrst();
l.loadlist();
this->datatotext();
b.texttowin();
	}
	
}

void khbase::OnExit() 
{
this->EndDialog(true);
	
}

void khbase::OnFirst() 
{
	rst4.MoveFirst();
	this->datatotext();
	b.texttowin();
	tnum=1;
	
}

void khbase::OnLast() 
{
	rst4.MoveLast();
	this->datatotext();
	b.texttowin();
	tnum=tnum2;
	
}

void khbase::OnNext() 
{
if(tnum==tnum2)
{return;}
rst4.MoveNext();
this->datatotext();
b.texttowin();
tnum+=1;
	
}

void khbase::OnSave() 
{
	b.wintotext();
	CString ss;
	if(update==1)
	
	{ss.Format("UPDATE tb_khxx set khxx_mc='%s',khxx_qyxz='%s',khxx_qylx='%s',khxx_qyzx='%s',khxx_qydz='%s',khxx_szsf='%s',khxx_szcs='%s',khxx_gsyb='%s',khxx_frdb='%s',khxx_khyh='%s',khxx_yhzh='%s',khxx_nsh='%s',khxx_ICcard='%s',khxx_gswz='%s',khxx_gsdh='%s',khxx_gscz='%s',khxx_lxr='%s',khxx_lxrdh='%s',khxx_khjb='%s',khxx_bz='%s' where khxx_id='%s'",b.edit8,b.com1,b.com2,b.com5,b.edit2,b.com3,b.edit9,b.edit3,b.edit10,b.edit12,b.edit4,b.edit11,b.edit13,b.edit5,b.edit14,b.edit6,b.edit15,b.edit7,b.com4,b.edit16,b.edit1);}
	else
	
	{ss.Format("INSERT INTO tb_khxx values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')",b.edit1,b.edit8,b.com1,b.com2,b.com5,b.edit2,b.com3,b.edit9,b.edit3,b.edit10,b.edit12,b.edit4,b.edit11,b.edit13,b.edit5,b.edit14,b.edit6,b.edit15,b.edit7,b.com4,b.edit16);}
	rst4.ExecuteSQL(ss);
	l.m_list.DeleteAllItems();
this->loadrst();
l.loadlist();
this->datatotext();
b.texttowin();
b.enableall(false);
	this->enablebutton(true);
	update=0;
}

void khbase::OnUp() 
{
	if(tnum==1)
	{return;}
	rst4.MovePrevious();
	this->datatotext();
	b.texttowin();
	tnum-=1;
	
}

void khbase::OnUpdate() 
{
	b.enableall(true);
	this->enablebutton(false);
	update=1;
	m_tab.SetCurSel(0);
	
}
void khbase::loadrst()
{
	/*
	if(khchuan.IsEmpty())
	{rst4.rstOpen("select * from tb_khxx");}
	else
	
	{khchuansql.Format("select * from tb_khxx where khxx_id='%s'",khchuan);
	rst4.rstOpen(khchuansql);}
	*/
	rst4.rstOpen("select * from tb_khxx");
	tnum2=rst4.GetRecordCount();
b.edit1=rst4.GetFieldValue("khxx_id");
b.edit8=rst4.GetFieldValue("khxx_mc");
b.com1=rst4.GetFieldValue("khxx_qyxz");
b.com2=rst4.GetFieldValue("khxx_qylx");
b.com5=rst4.GetFieldValue("khxx_qyzx");

b.edit2=rst4.GetFieldValue("khxx_qydz");
b.com3=rst4.GetFieldValue("khxx_szsf");
b.edit9=rst4.GetFieldValue("khxx_szcs");

b.edit3=rst4.GetFieldValue("khxx_gsyb");
b.edit10=rst4.GetFieldValue("khxx_frdb");
b.edit12=rst4.GetFieldValue("khxx_khyh");
b.edit4=rst4.GetFieldValue("khxx_yhzh");

b.edit11=rst4.GetFieldValue("khxx_nsh");
b.edit13=rst4.GetFieldValue("khxx_ICcard");
b.edit5=rst4.GetFieldValue("khxx_gswz");
b.edit14=rst4.GetFieldValue("khxx_gsdh");
b.edit6=rst4.GetFieldValue("khxx_gscz");
b.edit15=rst4.GetFieldValue("khxx_lxr");
b.edit7=rst4.GetFieldValue("khxx_lxrdh");
b.com4=rst4.GetFieldValue("khxx_khjb");
b.edit16=rst4.GetFieldValue("khxx_bz");

}

void khbase::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	
	*pResult = 0;
}
void khbase::numload()
{
	ado rst3;
	rst3.rstOpen("select * from tb_khxx");
	if(rst3.GetRecordCount()==0)
		{
b.m_edit1.SetWindowText("KH001");
b.m_edit1.EnableWindow(false);
return;
		}
		
	
	rst3.MoveLast();
	CString mm=rst3.GetFieldValue("khxx_id");
	int xuhao=atoi(mm.Right(3));
	xuhao+=1;
	mm.Format("KH%03d",xuhao);
	b.m_edit1.EnableWindow(false);
	
	b.m_edit1.SetWindowText(mm);
	rst3.close();
}
void khbase::enablebutton(bool butn)
{
	toolbar.EnableButton(ID_ADD,butn);
	toolbar.EnableButton(ID_UPDATE,butn);
	toolbar.EnableButton(ID_DELETE,butn);
	toolbar.EnableButton(ID_UP,butn);
	toolbar.EnableButton(ID_NEXT,butn);
	toolbar.EnableButton(ID_FIRST,butn);
	toolbar.EnableButton(ID_LAST,butn);
	toolbar.EnableButton(ID_SAVE,!butn);
	toolbar.EnableButton(ID_CANCEL,!butn);
}

void khbase::OnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
//	int tab=m_tab.GetCurSel();
//	if(tab!==0)
//	{
//		MessageBox("aa");
//		return;
//	}
	
	*pResult = 0;
}
void khbase::datatotext()
{
b.edit1=rst4.GetFieldValue("khxx_id");
b.edit8=rst4.GetFieldValue("khxx_mc");
b.com1=rst4.GetFieldValue("khxx_qyxz");
b.com2=rst4.GetFieldValue("khxx_qylx");
b.com5=rst4.GetFieldValue("khxx_qyzx");

b.edit2=rst4.GetFieldValue("khxx_qydz");
b.com3=rst4.GetFieldValue("khxx_szsf");
b.edit9=rst4.GetFieldValue("khxx_szcs");

b.edit3=rst4.GetFieldValue("khxx_gsyb");
b.edit10=rst4.GetFieldValue("khxx_frdb");
b.edit12=rst4.GetFieldValue("khxx_khyh");
b.edit4=rst4.GetFieldValue("khxx_yhzh");

b.edit11=rst4.GetFieldValue("khxx_nsh");
b.edit13=rst4.GetFieldValue("khxx_ICcard");
b.edit5=rst4.GetFieldValue("khxx_gswz");
b.edit14=rst4.GetFieldValue("khxx_gsdh");
b.edit6=rst4.GetFieldValue("khxx_gscz");
b.edit15=rst4.GetFieldValue("khxx_lxr");
b.edit7=rst4.GetFieldValue("khxx_lxrdh");
b.com4=rst4.GetFieldValue("khxx_khjb");
b.edit16=rst4.GetFieldValue("khxx_bz");
}